package 力扣.动态规划;

public class 买股票的最佳时机121 {
    public static void main(String[] args) {
        int[] ints = {7, 1, 5, 3, 6, 4};
//        int[] ints = {7, 6,4,3,1};
//        int[] ints = {7,0,8};
        int i = maxProfit(ints);
        System.out.println(i);
    }

    /**
     * 动态规划:寻找当前最优解，接着不断地优化、更新最优解。关键是如何得到当前最优解！
     * 股票想要获取最大利益必须要低买高卖。
     * 遍历数组，寻找当前最小值，寻找当前利润最大值。
     */
    public static int maxProfit(int[] prices) {
        int min = prices[0];//初始化最小值为：数组第一个元素
        int max = 0;//最大利润
        for (int p : prices){
            max = Math.max(max,p-min);//当前股票最大利润
            min = Math.min(p, min);//当前最小值
        }
        return max;

    }
}
